package cn.iocoder.yudao.module.ai.controller.admin.operationscene.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 运营中心-场景监控分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OperationScenePageReqVO extends PageParam {

    @Schema(description = "原始消息编号", example = "7179")
    private Long fromMessageId;

    @Schema(description = "在原始消息的消息索引号，从0开始")
    private Integer fromMessageIndex;

    @Schema(description = "原始消息编号列表", example = "27028")
    private List<String> companyIds;

    @Schema(description = "场景id", example = "29448")
    private String sceneId;

    @Schema(description = "感知设备名称", example = "李四")
    private String equName;

    @Schema(description = "感知接入对象", example = "1")
    private String equType;

    @Schema(description = "视频类型", example = "2")
    private String videoType;

    @Schema(description = "视频地址")
    private String videoPath;

    @Schema(description = "视频服务器")
    private String serverPath;

    @Schema(description = "延迟")
    private String latency;

    @Schema(description = "丢包率")
    private String packetLossRate;

    @Schema(description = "延迟", example = "李四")
    private String modelName;

    @Schema(description = "延迟", example = "赵六")
    private String gpuName;

    @Schema(description = "任务起始时间 yyyy-MM-dd ")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] taskStartTime;

    @Schema(description = "任务结束时间 yyyy-MM-dd")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] taskEndTime;

    @Schema(description = "执行开始时间 hh:mm:ss")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] executionStartTime;

    @Schema(description = "执行结束时间 hh:mm:ss")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] executionEndTime;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "供应商id", example = "22752")
    private Long suplierId;

    /**
     * 行业编号
     */
    @Schema(description = "行业编号", example = "27028")
    private String industryAffiliation ;
    /**
     * 场景分类
     */
    @Schema(description = "场景分类", example = "27028")
    private String sceneClassification ;

}